home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
201-225
/
203
/
examples
/
contents
< prev
next >
Wrap
Text File
|
1995-03-13
|
7KB
|
119 lines
======================THE SON OF EXAMPLES1==========================
This disc contains mostly assembly and C code examples written by Jim Fiore
and Jeff Glatt (Jim wrote the C stuff, I wrote the assembly). It also contains
assembly language versions of some C examples from Commodore or Fred Fish
discs as well.
Speechtoy: The classic Commodore C example of using gadgets, converted to
assembly language and optimized. Asm conversion by Jeff Glatt.
AudioDev: An executable only. This program replaces the official audio device
(loaded from KickStart) with an optimized, assembly version. The
official version (33.4) on KickStart 1.2 has several bugs, and is
written mostly in C. The document, Audio.DOC, explains about the
program, and the program itself, NewAudio, needs to be executed
(once only) after you boot. Asm by Jeff Glatt.
Task: This is an assembly version of a Commodore C example to create a
subtask using the amiga.lib function, CreateTask. Conversion JG
FileIO: R.J. Mical, the C programmer who wrote much of the Amiga's intuition,
wrote a file requester which was distributed on Fish Disc 107. There
were some other modules as well. They all comprised something called
ProSuite volume 1. Jim and I thought that the functionality of the
requester was exactly what we were looking for (with a few minor
changes), but the C code was much too big and slow. Jim made some
modifications to the C code (mostly imagery) and I converted it to
assembly, and turned it into a disk-based library that could be
opened and called by many tasks (the original needed to be linked
with each separate task). The code itself went from a whopping 15K+
to 10K. Furthermore, many customized options/functions were added
as well as enhanced error handling.
Now, there need only be one copy of the requester code in memory
instead of 15K per task. I have modified the original documentation
to reflect the new changes, created assembly and BASIC examples
to demo using the library, and modified the original C example to
use this library. The original C code is copyright by R.J. but this
assembly version is a significant rewriting of the original such that
the addressing modes, use of registers, some data structures, calling
conventions, display routines, are all different even though the
functionality is the same. I suggest that you send R.J. the shareware
donation even if you intend to use this library instead of the
original C source in a commercial application.
CopyLib: This program uses the FileIO requester library. It looks for any
files ending in ".library" extention (i.e. it looks for library
files only). If you find and select a library file, it will be
copied to your boot disk's libs drawer. This provides an easy way
for WorkBench users to copy custom libraries to their boot disk
before running an application which uses that library. Of course,
the requester library (which this program requires) is itself a
custom library and must be placed in the libs drawer. Not to worry
though, this program copies the FileIO library to your boot disk
if it is not already there. (If you want to copy this program to
another disk, copy the requester.library file as well).
The only problem that a user might have is not enough room on the
boot disk for the custom library. If this is the case, then the
user (you, stupid) must delete any files on the boot disk that he
deems unnecessary (like the s dir for example. Just kidding!).
Asm lib by Jeff Glatt.
TypeAndTell: This is an example of installing a custom input handler ahead
of Intuition originally appearing on Fish Disc #73. Input Handlers
like this can be useful for sending your own "manufactured" keyboard,
mouse/joy port, menu, etc, events to other applications. Your input
handler simply makes up the event and passes it on to Intuition, who
thinks that it is real, and thus sends it to any application waiting
to receive such an event. This is the main idea behind the "hot keys"
programs, the "click on the window to make it frontmost" programs,
and the "record/playback keystrokes" programs. Conversely, you could
"look for" certain events before Intuition sees them, and filter them
out. (Perhaps you don't want any programs to ever see the menu button
being pushed down.) This particular application looks for any rawkey
(key stroke) events, and speaks out each letter as you type it. I
suspect that it was written for a blind person. After running the
program, every time that you press a key, it is spoken. Try running
the program and then using a word processor (notepad maybe) to see
the effect. This assembly version is by Jeff Glatt.
It could be made significantly faster by eliminating
the use of the translator library (hand translate the letters and
phrases before assembly). I left it this way because I may use it
to analyze and speak entire words that the user types in.
YACHTC3: This is an assembly language version of the C code game by Sheldon
Leeman on Fish Disc #158. This version is significantly smaller, but it
doesn't have the sound options either. Someday I'll hook it up to my
custom music.library which can play back musical scores with loaded
samples (plus MIDI), but for now....
SAMP: This is an IFF format for storing musical samples without all the in-
herent limitations of 8SVX. It was devised by dissidents software. It is
meant to be used in some of our forth-coming musical products. Also,
included is a utility to convert 8SVX files to SAMP format. This format
is not backward compatible, and so an 8SVX application cannot use a SAMP
file.
8SVX: This ascii file is a disassembly of an actual 8SVX sampled data file
intended to illustrate the exact form of an 8SVX file. If you were to
include this file in the data section of a program, and write it to
disc, you would be writing an 8SVX file.
StartUps and Libraries: These contain my own custom StartUp code and
libraries to be used when linking the assembly examples. Many of the
examples take advantage of the Innovatronic's CAPE assembler PC-relative
directive. You should make modifications as described in the source if
using another assembler, or better yet, buy the CAPE assembler.
[Ed note: I deleted obviously proprietary files such as amiga.lib,
which compared identical to the same file of that name included
with the Lattice 5.0 C compiler. I also deleted all the object
files because I could not clearly determine which ones came from
the included source, and which ones did not. Sorry for any
inconvenience. -Fred]
TopTenLists: A quick sample of dissidents humor, a morsel, an inkling, a
small, readily-accessible excerpt of the depraved musings of some
seriously disturbed individuals.